在 docker 中, 从私有 Registry 拉取, 或者向 私有 Registry 推送镜像, 需要先使用 docker login
登录. 登录后授权信息会保存在 ~/.docker/config.json
中.
同样在 k8s 集群中拉取镜像, 也需要进行授权.
创建授权令牌
授权令牌(Secret) 本质上和 ConfigMap 没有区别, 都是存储数据, 只不过 Secret 专用于存储密码等数据, 是默认加密存储的, 而且 Secret 有特殊的加载方式.
创建名为 XXX
的登录授权令牌:
1 | kubectl create secret docker-registry XXX \ |
检查令牌
1 | kubectl get secret XXX --output=yaml |
其中的内容, 与本地 docker 的 ~/.docker/config.json
格式类似.
使用令牌给 pod 授权
无论是 pod 或者 deployment, 授权的方法非常简单
1 |
|
在 containers
同级配置 imagePullSecrets
, 给出用到的授权 secret 列表.
参考: 从私有仓库拉取镜像